UML2 pour les développeurs by X. Blanc I. Mounier
Auteur:X. Blanc, I. Mounier [X. Blanc, I. Mounier]
La langue: fra
Format: epub
Tags: Informatique
Éditeur: inconnu
Publié: 2006-09-05T12:25:57+00:00
UML pour les développeurs
94
Synthèse
Nous avons vu dans ce chapitre que les modèles que nous avons présentés jusqu’ici étaient fortement dépendants de la plate-forme Java. Forts de ce constat, nous avons introduit la notion de modèle pour Java et de modèle 100 % UML.
Nous avons montré que les modèles pour Java et les modèles 100 % UML étaient complémentaires et qu’ils offraient des gains différents. Les modèles pour Java apportent des gains de productivité, tandis que les modèles 100 % UML apportent des gains de pérennité et de gestion de la complexité.
Nous avons ensuite précisé la relation d’abstraction qui existait entre ces deux niveaux. Les modèles 100 % UML sont des abstractions des modèles UML pour Java, car ils masquent les détails techniques de la plate-forme Java. Ainsi, les modèles 100 % UML spécifient la logique métier de l’application, alors que les modèles UML
pour Java spécifient la façon dont est utilisée la plate-forme Java pour réaliser l’application.
Nous avons en outre expliqué pourquoi il était plus naturel de considérer ces deux types de modèles non pas comme des modèles indépendants, mais comme des parties différentes d’un même modèle, situées à différents niveaux d’abstraction. Nous avons alors précisé comment ces deux niveaux d’abstraction (conceptuel et physique) étaient intégrés à notre vision schématique des modèles UML d’applications.
Pour finir, nous avons introduit les deux façons envisageables de suivre un cycle de développement avec UML, en précisant qu’il n’était pas obligatoire de mettre en œuvre le niveau conceptuel; tout dépendant des bénéfices que nous souhaitions obtenir du modèle UML.
Tr a v a u x d i r i g é s
TD8. Plates-formes d’exécution
Question 68. Le diagramme de l’agence de voyage représenté à la figure 8.2 correspond-il à un modèle conceptuel ou à un modèle physique ?
Question 69. Pensez-vous qu’il soit intéressant d’appliquer des patrons de conception sur les modèles conceptuels ?
Question 70. Le diagramme de séquence représenté à la figure 8.3 est-il conceptuel ou physique ? Vous noterez qu’il fait intervenir une opération qui n’apparaît pas dans le diagramme de classes initial. Quelle classe doit posséder cette opération ?
Plates-formes d’exécution
95
CHAPITRE 8
Figure 8.2
Reservation
Diagramme
Hotel
hotel
de l’agence
-dateArrivee:string
-name:string
-dateDepart:string
de voyage
0..1
*
+setHotel()
hotelPropose
*
reservationEffectuee
AgenceDeVoyage
+obtenirReservation()
+demanderTarifs()
client:
ag:AgenceDeVoyage
obtenirReservation("Ritz","15juin","16juin") création
resa:Reservation
addReservationEffectuee(resa)
ok
Figure 8.3
Interaction représentant une réservation
Question 71. Serait-il possible de spécifier en « 100 % UML » le comportement de l’agence de voyage ?
Question 72. Serait-il possible de spécifier en « 100 % UML » des tests pour l’agence de voyage ? Justifiez l’intérêt de ces tests.
Question 73. Le diagramme représenté à la figure 8.4 est une concrétisation du diagramme conceptuel de l’agence de voyage. Exprimez les relations
d’abstraction entre les éléments des deux diagrammes.
UML pour les développeurs
96
Reservation
Hotel
hotel
-dateArrivee:string
-name:string
-dateDepart:string
0..1
reservationEffectuee
0..1
ArrayList
AgenceDeVoyage
+obtenirReservation()
+demanderTarifs()
0..1
hotelPropose
Iterator
Reservation res=nul ;
+next()
for (Iterator it = reservationEffectuee.iterator() ; it.hasNext() ; ) {
+hasNext()
Reservation current = (Reservation) it.next();
if (current.dateArrivee == dateArrivee
&& current.dateDepart == dateDepart
&& current.hotel.name == hotelName) return current;
}
res = new Reservation(dateArrivee , dateDepart);
res.setHotel(new Hotel());
return res;
}
Figure 8.4
Classes du niveau physique de l’agence de voyage
Question 74. Quel est l’intérêt d’avoir fait apparaître les classes ArrayList et Iterator dans le modèle concret (considérez en particulier la génération de code et le Reverse Engineering) ?
Question 75. Construisez le diagramme de séquence concrétisant le diagramme de séquence présenté à la question 69.
Télécharger
Ce site ne stocke aucun fichier sur son serveur. Nous ne faisons qu'indexer et lier au contenu fourni par d'autres sites. Veuillez contacter les fournisseurs de contenu pour supprimer le contenu des droits d'auteur, le cas échéant, et nous envoyer un courrier électronique. Nous supprimerons immédiatement les liens ou contenus pertinents.
Histoires pornographiques by Q'Abé Valentine(2685)
Le chant de Wren 01 Marquée by Addison Cain(2682)
Le Glee magazine by littlesitter(2318)
Antoine Marcas T05 La Croix des Assassins by Giacometti et Ravenne(2176)
Fait maison n°1 by Cyril Lignac(2156)
Le petit traité Rustica de la pâtisserie maison - Plus de 100 recettes faciles (Les petits traités) (French Edition) by Martine Soliman(2098)
Le Roman des Croisades T1 La Croix et le Royaume by Michel Peyramaure(2036)
À la recherche du temps perdu 15 XV Le temps retrouvé 2 by Marcel Proust(2030)
À la recherche du temps perdu 05 V À l’ombre des jeunes filles en fleurs 3 by Marcel Proust(2001)
Les Micro-humains by Bernard Werber(1968)
La croix de Saint-Georges by Kent Alexander(1965)
Marianne T2- et l'inconnu de Toscane by Juliette Benzoni(1950)
Cal DONOVAN 01 Le livre de la croix by Cooper Glenn(1935)
Le Maître ou le tournoi de go by Kawabata Yasunari(1752)
LE POINT DE VUE DES ÉDITEURS by Farallon Islands(1746)
The Lying Game T5 , Crois de bois croix de fer by Sara Shepard(1744)
La cité des rêves by Don Winslow(1706)
Dans le murmure des feuilles qui dansent (A.M. ROM.FRANC) (French Edition) by Agnès Ledig(1615)
Substance secrète by Reichs Kathy(1555)